package com.base.logistics.jdl.bean.print;


import java.io.Serializable;

/**
 * <pre>
 * 获取打印模板列表参数对象
 * </pre>
 * @since 2021-02-19
 */
public class GetTemplateListReqDTO  implements Serializable {

    /**
     * pin授权码/商家授权pin兼容jospin，不需要传
     * <pre>
     * 是否必填：否
     * </pre>
     */
    private String pin;

    /**
     * 物流公司编码，京东快递：JD。一期仅支持JD，非必填
     * <pre>
     * 是否必填：否
     * </pre>
     */
    private String cpCode;

    /**
     * 模板类型：1，标准模板（各物流公司合作服务商标准运单模板）；2自定义模板（用于商家自己定义的模板不限于运单，可以是其他单据类型模板）；3、ISV自定义模板（ISV合作伙伴自定义模板，与合作伙伴签订软件服务协议的商家以及ISV合作伙伴都可以使用的模板，不限于运单）；4、商家自定义区（运单模板或者其他模板中自定义项内容模板，用于商家自己使用）
     * <pre>
     * 是否必填：否
     * </pre>
     */
    private String templateType;

    /**
     * 面单类型：1 快递标准面单 ,2 快递三联面单, 3 快递便携式三联单, 4 快运标准面单, 5 快运三联面单, 6 快递一联单
     * <pre>
     * 是否必填：否
     * </pre>
     */
    private String wayTempleteType;

    /**
     * isv资源类型，分为：TEMPLATE（表示模板），PRINT_ITEM（打印项），CUSTOM_AREA（预设自定义区），根据ISV合作伙伴预设的自定义区项类型获取自定义打印项
     * <pre>
     * 是否必填：否
     * </pre>
     */
    private String isvResourceType;

    /**
     * 单个模板ID，根据单个模板ID查找
     * <pre>
     * 是否必填：否
     * </pre>
     */
    private String templateId;

    public GetTemplateListReqDTO() {
    }

    public String getPin() {
        return this.pin;
    }

    public String getCpCode() {
        return this.cpCode;
    }

    public String getTemplateType() {
        return this.templateType;
    }

    public String getWayTempleteType() {
        return this.wayTempleteType;
    }

    public String getIsvResourceType() {
        return this.isvResourceType;
    }

    public String getTemplateId() {
        return this.templateId;
    }

    public void setPin(String pin) {
        this.pin = pin;
    }

    public void setCpCode(String cpCode) {
        this.cpCode = cpCode;
    }

    public void setTemplateType(String templateType) {
        this.templateType = templateType;
    }

    public void setWayTempleteType(String wayTempleteType) {
        this.wayTempleteType = wayTempleteType;
    }

    public void setIsvResourceType(String isvResourceType) {
        this.isvResourceType = isvResourceType;
    }

    public void setTemplateId(String templateId) {
        this.templateId = templateId;
    }

    public boolean equals(final Object o) {
        if (o == this) return true;
        if (!(o instanceof GetTemplateListReqDTO)) return false;
        final GetTemplateListReqDTO other = (GetTemplateListReqDTO) o;
        if (!other.canEqual((Object) this)) return false;
        final Object this$pin = this.getPin();
        final Object other$pin = other.getPin();
        if (this$pin == null ? other$pin != null : !this$pin.equals(other$pin)) return false;
        final Object this$cpCode = this.getCpCode();
        final Object other$cpCode = other.getCpCode();
        if (this$cpCode == null ? other$cpCode != null : !this$cpCode.equals(other$cpCode)) return false;
        final Object this$templateType = this.getTemplateType();
        final Object other$templateType = other.getTemplateType();
        if (this$templateType == null ? other$templateType != null : !this$templateType.equals(other$templateType))
            return false;
        final Object this$wayTempleteType = this.getWayTempleteType();
        final Object other$wayTempleteType = other.getWayTempleteType();
        if (this$wayTempleteType == null ? other$wayTempleteType != null : !this$wayTempleteType.equals(other$wayTempleteType))
            return false;
        final Object this$isvResourceType = this.getIsvResourceType();
        final Object other$isvResourceType = other.getIsvResourceType();
        if (this$isvResourceType == null ? other$isvResourceType != null : !this$isvResourceType.equals(other$isvResourceType))
            return false;
        final Object this$templateId = this.getTemplateId();
        final Object other$templateId = other.getTemplateId();
        if (this$templateId == null ? other$templateId != null : !this$templateId.equals(other$templateId))
            return false;
        return true;
    }

    protected boolean canEqual(final Object other) {
        return other instanceof GetTemplateListReqDTO;
    }

    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        final Object $pin = this.getPin();
        result = result * PRIME + ($pin == null ? 43 : $pin.hashCode());
        final Object $cpCode = this.getCpCode();
        result = result * PRIME + ($cpCode == null ? 43 : $cpCode.hashCode());
        final Object $templateType = this.getTemplateType();
        result = result * PRIME + ($templateType == null ? 43 : $templateType.hashCode());
        final Object $wayTempleteType = this.getWayTempleteType();
        result = result * PRIME + ($wayTempleteType == null ? 43 : $wayTempleteType.hashCode());
        final Object $isvResourceType = this.getIsvResourceType();
        result = result * PRIME + ($isvResourceType == null ? 43 : $isvResourceType.hashCode());
        final Object $templateId = this.getTemplateId();
        result = result * PRIME + ($templateId == null ? 43 : $templateId.hashCode());
        return result;
    }

    public String toString() {
        return "GetTemplateListReqDTO(pin=" + this.getPin() + ", cpCode=" + this.getCpCode() + ", templateType=" + this.getTemplateType() + ", wayTempleteType=" + this.getWayTempleteType() + ", isvResourceType=" + this.getIsvResourceType() + ", templateId=" + this.getTemplateId() + ")";
    }
}
